package cn.broadsense.thrid.param;

import cn.broadsense.thrid.result.FaceRepoSearchResult;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 人像库检索
 *
 * @author pengxin
 * @date 2022-10-12 17:40
 */
@NoArgsConstructor
@Data
public class FaceRepoSearchParam extends BaseParam {
    private static final long serialVersionUID = 4735728637413145411L;
    private String queryId;
    private Integer page;
    private Integer pageSize;
    private Integer count = 0;
    private ConditionParam condition = new ConditionParam();
    private RetrievalParam retrieval =new RetrievalParam();
    private List<Map<String,Object>> order = new ArrayList<>();


    @Override
    public void checkParam() {

    }

    @Override
    public Class getResultClass() {
        return FaceRepoSearchResult.class;
    }

    @NoArgsConstructor
    @Data
    public static class ConditionParam {
        private String identificationId;
        private String name;
        private List<String> repositoryIds;
    }

    @NoArgsConstructor
    @Data
    public static class RetrievalParam {
        private String faceImage;
        private BigDecimal threshold;
        private String vendor;
    }

}
